package mx.com.fractal.ristorante.dao.impl;

import java.sql.SQLException;
import java.util.List;

import mx.com.fractal.ristorante.dao.PosicionDAO;
import mx.com.fractal.ristorante.dto.PosicionDTO;
import mx.com.fractal.ristorante.util.ParamSrcUtil;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
import org.springframework.jdbc.support.GeneratedKeyHolder;
import org.springframework.stereotype.Repository;

@Repository
public class PosicionDAOImpl implements PosicionDAO {

	
	@Autowired
	private NamedParameterJdbcTemplate jdbc;
	
	private static final String INSERT = "INSERT INTO ristorant_e.cat_posicion ("
			+ "id_restaurante,nombre,descripcion) VALUES("
			+ ":getIdRestaurante,:getNombre,:getDescripcion)";
	
	
	public Integer save(PosicionDTO posicion) {
		MapSqlParameterSource parameters = ParamSrcUtil
				.getParams(posicion);
		parameters.addValue("idRestaurante", posicion.getIdRestaurante());
		GeneratedKeyHolder holder = new GeneratedKeyHolder();
		jdbc.update(INSERT, parameters, holder);
		
		return (Integer) holder.getKeys().get("id_posicion");
	}

	public List<PosicionDTO> getAllBy(PosicionDTO conditions)
			throws SQLException {
		// TODO Auto-generated method stub
		return null;
	}

}
